/* 外部模块 */
const express = require('express');
const cors = require('cors');
const path = require('path')
const app = express();
const mysql = require('mysql2');

// 使用 cors 中间件
// 跨域
app.use(cors());
/* 解析body的方式，否则为undefined */
app.use(express.json());

// 创建连接池
const pool = mysql.createPool({
	host: '47.120.32.222',      // 数据库主机
	user: 'test01',           // 数据库用户名
	password: 'CtTExMrCnAXD6Naj',   // 数据库密码
	database: 'test01' // 数据库名称
});
// 获取连接池的 promise API
const promisePool = pool.promise();

// 添加静态资源路径
app.get('/getFile', (req, res) => {
	res.sendFile(path.join(__dirname, 'public', 'index.html'));
});

/* 向后端传递数据 */
/* 请求路径的参数字符有上限 */
/* login:代表一个功能  */
/* get请求的参数是路径上的参数 */
// 处理 GET 请求

app.get('/list', (req, res) => {
	let querySql = 'SELECT * FROM user_test'
	promisePool.query(querySql).then((data) => {
		const { } = body
		console.log(data[0]);
		res.send({
			data: data[0]
		});
	})
});

/* 向后端传递数据 */
/* post请求理论无上限 */
/* 1.路径上的参数 */
/* 2.请求体的参数 */
app.post('/login', (req, res) => {

	/* 
		1.用req.query接收路径上的参数 
		2.req.body来接受请求体
	*/
	const body = req.body;

	const querySql = "SELECT * FROM user_test"
	promisePool.query(querySql).then((data) => {
		const { password, username } = body
		console.log(password, username);
		console.log(data[0]);
		res.send({
			msg: "你成功了"
		});
	})

});


app.listen(3000, () => {
	console.log('示例应用正在监听 3000 端口 !');
});
